/**
 * @file       UnixTermDisplay.h
 * @brief      Display interface of UNIX implement
 * @author     Huabo Zheng
 * @date       Jan 12, 2012
 * @Copyright  2012, www.netgear.com Inc. All rights reserved.
 */

#ifndef UNIXTERMDISPLAY_H_
#define UNIXTERMDISPLAY_H_

#include "IDisplay.h"

namespace NS_LCD_AFW
{

/**
 *@class  CUnixTermDisplay
 *@brief  Display interface of UNIX implement
 */
class CUnixTermDisplay: public NS_LCD_AFW::IDisplay
{
public:
	/**
	*@brief Constructor
	*/
	CUnixTermDisplay();

	/**
	*@brief Constructor
	*/
	virtual ~CUnixTermDisplay();

public:
	virtual int initialize();
	virtual int unInitialize();
	virtual int getColumnSize();
	virtual int getRowSize();
	virtual int hightlight(int x, int y, int width, int hight);
	virtual int unHightlight(int x, int y, int width, int hight);
	virtual int write(int x, int y, int width, int hight,
			const char *pszString);
	virtual int writeChar(int x, int y, char c);
	virtual int writeLine(int x, int y, int width, const char *pszString);
	virtual int cleanScreen(int x, int y, int width, int hight);
	virtual int showCursor();
	virtual int hideCursor();
	virtual int getCursor(int &x,int &y) ;
	virtual int setCursor(int x,int y) ;
};

} /* namespace NS_LCD_AFW */
#endif /* UNIXTERMDISPLAY_H_ */
